package br.com.beautycenter.DAO;

import br.com.beautycenter.bean.Feriado;
import br.com.beautycenter.hibernateUtil.DaoBase;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Query;

public class PersisteFeriado extends DaoBase<Feriado> {

    public List<Feriado> retornarFeriado() {
        try {
            return findAll();
        } catch (Exception ex) {

            return new ArrayList<Feriado>();
        }
    }

    public void salvar(Feriado feriado) {
        save(feriado);
    }

    public void deletar(Feriado feriado) {
        try {
            delete(feriado);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public Feriado retornarFeriadoPeloID(Feriado feriado) {
        return getEntityManager().find(Feriado.class, feriado.getId_Feriado());
    }

    public void atualizar(Feriado feriado) {
        update(feriado);
    }

    public List<Feriado> retornaFeriadoPeloNome(Feriado feriado) {
        Query query = getEntityManager().createQuery("FROM Feriado f WHERE f.descricaoFeriado LIKE :DescricaoFeriado");
        query.setParameter("DescricaoFeriado", "%" + feriado.getDescricaoFeriado() + "%");

        try {
            return query.getResultList();
        } catch (Exception ex) {
            return new ArrayList<Feriado>();
        }
    }
    
    public List<Feriado> retornarFeriadoPelaData(Feriado feriado){
        Query query = getEntityManager().createQuery("FROM Feriado f WHERE f.dtFeriado = :DataFeriado");
        query.setParameter("DataFeriado", feriado.getDtFeriado());

        try {
            return query.getResultList();
        } catch (Exception ex) {
            return new ArrayList<Feriado>();
        }        
    }
}
